#!/bin/sh

set -e

. /usr/share/debconf/confmodule

db_input medium roundcube/hosts || true
db_go || true

# Retrieve all available languages
instd_langs=$(echo /usr/share/roundcube/program/localization/*/messages.inc | \
    sed 's+[^ ]*/\([^ ]*\)/messages.inc+\1,+g' | sed 's+,$++')
db_subst roundcube/language languages $instd_langs
# First try to get the current choice in case of preseeding or if the
# question has already been asked
db_get roundcube/language || true
locale="$RET"
if [ -n "$locale" -a -d "/usr/share/roundcube/program/localization/$locale" ]; then
    # We get our answer (db_set should be useless in fact)
    db_set roundcube/language $locale
else 
    # Either we never answered the question or the locale does not
    # exist any more. In both cases, we do as if we never seen the
    # question.
    db_fset roundcube/language seen false
    # Try to guess the locale
    locale=$(echo $LANG | sed 's/[@\.].*//')
    if [ -d /usr/share/roundcube/program/localization/$locale ]; then
       	db_set roundcube/language $locale
    else
	locale=$(echo $locale | sed 's/_.*//')
	if [ -d /usr/share/roundcube/program/localization/$locale ]; then
	    db_set roundcube/language $locale
	else
	    db_set roundcube/language en_US
	fi
    fi
fi
# Ask the question
db_input medium roundcube/language || true
db_go || true

db_input medium roundcube/reconfigure-webserver || true
db_go || true
db_input medium roundcube/restart-webserver || true
db_go || true
